package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.SellBean;

import java.time.LocalDate;

/**
 * 销售订单业务接口
 */
public interface ISellService {
    /**
     * 添加销售订单
     * 1、计算该用户销售车的订单总额，然后，添加至销售对象
     * 2、完成销售对象添加
     * 3、查询登陆用户对应的销售车信息
     * 4、根据销售车信息添加销售明细表，同时减少商品的库存数量
     * 5、销售订单添加成功后清空销售车
     * @param userId
     * @param sellBean
     */
    void addOrder(Integer userId, SellBean sellBean);

    /**
     * 动态条件分页查询
     * @param pageNO 页码
     * @param customerName 客户名称
     * @param startDate 起始日期
     * @param endDate 结束日期
     * @return 分页对象（编号、客户名称、销售原、销售时间、订单总额）
     */
    IPage<SellBean> findByItem(Integer pageNO, String customerName, LocalDate startDate,LocalDate endDate);

    /**
     * 按编号查询销售信息，同时查询客户名称，并且查询销售明细，在销售明细中，需要查询销售商品信息
     * 先查询销售订单订单对象（客户名称、销售员、销售日期、订单总金额、送货地址）
     * 并且查询销售详情表中的关联数据（名称、品牌、成交价、销售数量）
     * @param id 订单编号
     * @return 销售订单对象
     */
    SellBean findById(Integer id);





}
